package com.chenqi.myblog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chenqi.myblog.model.Blog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description:
 * @program: myblog
 * @author: ChenQi
 * @create: 2021-02-2021/2/2-11-52
 */
public interface BlogService {

    /**
     * 分页查询
     * @param page
     * @param rows
     * @return
     */
    List<Blog> findByPage(Integer page,Integer rows);

    /**
     * 查询博客总条数
     */
    int findCounts();

    /**
     * 首页推荐最新博客
     * @param start
     * @param rows
     * @return
     */
    List<Blog> findNewBlog(Integer start,Integer rows);

    /**
     * 根据分类id查找博客
     * @param id
     * @return
     */
    List<Blog> findByTypeId(Integer id);


    /**
     * 查找所有博客
     * @return
     */
    List<Blog> findAllBlog();

    /**
     * 保存博客
     * @param blog
     */
    void saveBlog(Blog blog);

    /**
     * 根据id查找博客
     * @return
     */
    Blog findBlogById(Integer id);

    /**
     * 保存博客与标签的关系
     * @param bid
     * @param tid
     */
    void saveTags(Integer bid, Integer tid);

    /**
     *  通过标题进行查找(分页)
     * @param page
     * @param rows
     * @param title
     * @return
     */
    List<Blog> searchBlogByTitle(Integer page,Integer rows,String title);


    /**
     * 通过标题查看博客的个数
     * @param title
     * @return
     */
    Integer searchCount(String title);

    /**
     * 更新博客的信息
     * @param view
     * @param id
     */
    void updateView(Integer view,Integer id);

    /**
     * 根据id删除博客
     * @param id
     */
    void deleteBlog(Integer id);
}
